package br.com.edoc.controller.cadastro;



import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import br.com.edoc.entidade.Menu;
import br.com.edoc.excecoes.ExceptionApplication;
import br.com.edoc.excecoes.ExceptionValidador;
import br.com.edoc.gerentes.GerenteCadastro;
import br.com.edoc.ouvinte.OuvinteSelecao;
@ManagedBean(name="cadastroMenu")
@SessionScoped
public class CadastroMenuController extends CadastroPadraoController{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -7273977412713191675L;
	private Menu menu;
	private OuvinteSelecao ouvinte;	
	
	

	public CadastroMenuController(Menu menu) {
		super();
		this.menu = menu;
		this.getSessionScope().put("cadastroMenu", this);
	}

	public Menu getMenu() {
		
		return menu;
	}

	public void setMenu(Menu menu) {
		this.menu = menu;
	}

	@Override
	public void acaoInserir() {
		// TODO Auto-generated method stub
		GerenteCadastro gc = getAtendente().chamaGerenteCadastro();
		try {
			gc.incluir(getMenu());
			getOuvinte().selecaoFeita(getMenu());
			addInfoMessage("Menu Cadastrado com sucesso");
		} catch (ExceptionApplication e) {
			// TODO Auto-generated catch block
			addErroMessage(e.getMessage());
		} catch (ExceptionValidador e) {
			// TODO Auto-generated catch block
			addErroMessage(e.getMessage());
		}
	}

	@Override
	public void acaoAlterar() {
		// TODO Auto-generated method stub
		GerenteCadastro gc = getAtendente().chamaGerenteCadastro();
		try {
			gc.alterar(getMenu());
			getOuvinte().selecaoFeita(getMenu());
			addInfoMessage("Menu alterado com sucesso");
		} catch (ExceptionApplication e) {
			// TODO Auto-generated catch block
			addErroMessage(e.getMessage());
		} catch (ExceptionValidador e) {
			// TODO Auto-generated catch block
			addErroMessage(e.getMessage());
		}
	}

	@Override
	public void acaoRemover() {
		// TODO Auto-generated method stub
		
	}

	public OuvinteSelecao getOuvinte() {
		return ouvinte;
	}

	public void setOuvinte(OuvinteSelecao ouvinte) {
		this.ouvinte = ouvinte;
	}

	
	
	
}
